# 查找字符串数组中的最长公共前缀
# 算法：纵向扫描时，从前往后遍历所有字符串的每一列，
#      比较相同列上的字符是否相同，如果相同则继续对下一列进行比较，
#      如果不相同则当前列不再属于公共前缀，当前列之前的部分为最长公共前缀。


class Solution:
    def longestCommonPrefix(self, strs: list[str]) -> str:
        if not strs:
            return ""

        length, count = len(strs[0]), len(strs)
        for i in range(length):
            c = strs[0][i]
            if any(i == len(strs[j]) or strs[j][i] != c for j in range(1, count)):
                return strs[0][:i]

        return strs[0]


